Analysis of Concurrent Lock-Free Hash Tries with Constant-Time Operations

نویسنده

  • Aleksandar Prokopec
چکیده

Ctrie is a scalable concurrent non-blocking dictionary data structure, with good cache locality, and non-blocking linearizable iterators [4]. However, operations on most existing concurrent hash tries run in O(logn) time. In this technical report, we extend the standard concurrent hash-tries [3] with an auxiliary data structure called a cache1. The cache is essentially an array that stores pointers to a specific level of the hash trie. We analyze the performance implications of adding a cache, and prove that the running time of the basic operations becomes O(1).

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Cache-Aware Lock-Free Concurrent Hash Tries

This report describes an implementation of a non-blocking concurrent shared-memory hash trie based on single-word compare-andswap instructions. Insert, lookup and remove operations modifying different parts of the hash trie can be run independent of each other and do not contend. Remove operations ensure that the unneeded memory is freed and that the trie is kept compact. A pseudocode for these...

متن کامل

Split-Ordered Lists: Lock-Free Extensible Hash Tables (a summary)

The hash table is a common data structure for applications requiring constant time insert, delete and find of certain items. The basic idea is to use an array of buckets, where each bucket stores a list of items. A hash function is used to determine which bucket a certain item belongs to. Finding or deleting a specific item amounts to a linear search in a bucket list pointed to by the hash func...

متن کامل

A Simple and Efficient Lock-Free Hash Trie Design for Concurrent Tabling

A critical component in the implementation of a concurrent tabling system is the design of the table space. One of the most successful proposals for representing tables is based on a two-level trie data structure, where one trie level stores the tabled subgoal calls and the other stores the computed answers. In this work, we present a simple and efficient lock-free design where both levels of t...

متن کامل

SnapQueue: lock-free queue with constant time snapshots

We introduce SnapQueues concurrent, lock-free queues with a linearizable, lock-free global-state transition operation. This transition operation can atomically switch between arbitrary SnapQueue states, and is used by enqueue, dequeue, snapshot and concatenation operations. We show that implementing these operations efficiently depends on the persistent data structure at the core of the SnapQue...

متن کامل

Concurrent Operations in Extendible Hashing

An algorithm for synchronizing concurrent operations on extendible hash files is presented. The algorithm is deadlock free and allows the search operations to proceed concurrently with insertion operations without having to acquire locks on the directory entries or the data pages. It also allows concurrent insertion/deletion operations to proceed without having to acquire locks on the directory...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1712.09636  شماره 

صفحات  -

تاریخ انتشار 2017